An image typically includes several objects (e.g., a tree, sky or animated character). Each object may be computer represented by a group of triangles. Vertex data for each triangle includes x and y-coordinate data defining the position of each vertex of the triangle within the image. In three-dimensional applications, the vertex data also includes z-coordinate data which defines the depth of the triangle in virtual space. On a display, a triangle having a greater depth may be obscured by a triangle having a lesser depth, thereby giving the appearance that the image is three-dimensional.
In writing each image frame, a graphics processor feeds triangle data, one triangle at a time, to a rasterizer which assigns luminance and color values to each pixel location within the triangle. After all triangles of the image frame are written into a frame buffer, the image frame is displayed. In typical graphics applications, an image frame may include many thousands of triangles depending on the image resolution of the image frame. Furthermore, many image frames are displayed each second in graphics applications. Thus, as the graphics applications become more complex, the graphics processor and rasterizer must operate faster.